mathematical programming problem